package com.otv.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;



/**
 * Class Arriendo.
 */
@Entity
@Table (name="re_arriendo")

public class Arriendo {

	
	/** El/la id. */
	@Id
	@Column(name="ar_id_arriendo", unique=true, nullable=false)
	private int id;
	
	/** El/la alojamiento. */
	@ManyToOne (fetch = FetchType.LAZY)
	@JoinColumn (name="al_id_alojamiento", nullable = true)
	private Alojamiento alojamiento;
	
	/** El/la pieza. */
	@ManyToOne (fetch = FetchType.LAZY)
	@JoinColumn (name="pi_id_pieza", nullable = true)
	private Pieza pieza;
	
	/** El/la cliente. */
	@ManyToOne (fetch = FetchType.LAZY)
	@JoinColumn (name="cl_id_cliente", nullable = false)
	private Cliente cliente;
	
	/** El/la abono. */
	@Column(name="ar_abono", unique=false, nullable=false)
	private double abono;
	
	/** El/la desde. */
	@Column(name="ar_desde", unique=false, nullable=false)
	private Date desde;
	
	/** El/la hasta. */
	@Column(name="ar_hasta", unique=false, nullable=true)
	private Date hasta;
	
	/** El/la hora inicio. */
	@Column(name="ar_hora_inicio", unique=false, nullable=true)
	private String horaInicio;
	
	/** El/la hora termino. */
	@Column(name="ar_hora_termino", unique=false, nullable=true)
	private String horaTermino;
	
	/** El/la descripcion. */
	@Column(name="ar_descripcion", unique=false, nullable=true)
	private String descripcion;

	/**
	 * Devuelve un(a) id.
	 *
	 * @return El/la id
	 */
	public int getId() {
		return id;
	}

	/**
	 * Asigna el/la id.
	 *
	 * @param id un(a) nuevo(a) id
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * Devuelve un(a) alojamiento.
	 *
	 * @return El/la alojamiento
	 */
	public Alojamiento getAlojamiento() {
		return alojamiento;
	}

	/**
	 * Asigna el/la alojamiento.
	 *
	 * @param alojamiento un(a) nuevo(a) alojamiento
	 */
	public void setAlojamiento(Alojamiento alojamiento) {
		this.alojamiento = alojamiento;
	}

	/**
	 * Devuelve un(a) pieza.
	 *
	 * @return El/la pieza
	 */
	public Pieza getPieza() {
		return pieza;
	}

	/**
	 * Asigna el/la pieza.
	 *
	 * @param pieza un(a) nuevo(a) pieza
	 */
	public void setPieza(Pieza pieza) {
		this.pieza = pieza;
	}

	/**
	 * Devuelve un(a) cliente.
	 *
	 * @return El/la cliente
	 */
	public Cliente getCliente() {
		return cliente;
	}

	/**
	 * Asigna el/la cliente.
	 *
	 * @param cliente un(a) nuevo(a) cliente
	 */
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	/**
	 * Devuelve un(a) abono.
	 *
	 * @return El/la abono
	 */
	public double getAbono() {
		return abono;
	}

	/**
	 * Asigna el/la abono.
	 *
	 * @param abono un(a) nuevo(a) abono
	 */
	public void setAbono(double abono) {
		this.abono = abono;
	}

	/**
	 * Devuelve un(a) desde.
	 *
	 * @return El/la desde
	 */
	public Date getDesde() {
		return desde;
	}

	/**
	 * Asigna el/la desde.
	 *
	 * @param desde un(a) nuevo(a) desde
	 */
	public void setDesde(Date desde) {
		this.desde = desde;
	}

	/**
	 * Devuelve un(a) hasta.
	 *
	 * @return El/la hasta
	 */
	public Date getHasta() {
		return hasta;
	}

	/**
	 * Asigna el/la hasta.
	 *
	 * @param hasta un(a) nuevo(a) hasta
	 */
	public void setHasta(Date hasta) {
		this.hasta = hasta;
	}

	/**
	 * Devuelve un(a) hora inicio.
	 *
	 * @return El/la hora inicio
	 */
	public String getHoraInicio() {
		return horaInicio;
	}

	/**
	 * Asigna el/la hora inicio.
	 *
	 * @param horaInicio un(a) nuevo(a) hora inicio
	 */
	public void setHoraInicio(String horaInicio) {
		this.horaInicio = horaInicio;
	}

	/**
	 * Devuelve un(a) hora termino.
	 *
	 * @return El/la hora termino
	 */
	public String getHoraTermino() {
		return horaTermino;
	}

	/**
	 * Asigna el/la hora termino.
	 *
	 * @param horaTermino un(a) nuevo(a) hora termino
	 */
	public void setHoraTermino(String horaTermino) {
		this.horaTermino = horaTermino;
	}

	/**
	 * Devuelve un(a) descripcion.
	 *
	 * @return El/la descripcion
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/**
	 * Asigna el/la descripcion.
	 *
	 * @param descripcion un(a) nuevo(a) descripcion
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
}
